本篇介紹 ES2020 (ES11) 提供的 globalThis
。
要存取全域物件在不同的 JavaScript 執行環境會很麻煩。
在 web 可能是:
window
:常見的全域物件,但不適用於 Node.js 和 Web Workersself
:只適用於 Web Workers 和瀏覽器,Node.js 不支援frames
:在 <iframe>
中使用this
在 Node.js 可能是:global
() 或 this
。
當然也可以用 this
,但在不同地方使用 this
會是不同的東西:
<iframe>
中的 this
為 frames
( window.frames
)window
為了能方便拿到全域物件,就有了此提案 globalThis
。